latextableI.m

Creates LaTeX tables of equilibrium thresholds (Table I in Abbring and Campbell's ``Last-In First-Out Oligopoly Dynamics'').

At its conclusion, the string tablestra has the table of entry thresholds, while tablestrb has the analogous table of exit thresholds.

Contents

Acquire thresholds and transform them.

If the variables entryThresholds and exitThresholds do not exist, run experimentI.m to create them. With the thresholds in hand, transform them into levels for reporting.

newrun=~(exist('entryThresholds','var') && exist('exitThresholds','var'));
if newrun;
    newrunHOLD=1;
    experimentI;
end

entryThresholds=exp(entryThresholds);
exitThresholds=exp(exitThresholds);

Create the LaTeX table

The LaTeX table's first panel reports the entry thresholds and its second panel reports the exit thresholds. We place these into separate tabular environments.

% Create strings with LaTeX tabular overhead
headerstr1 = ['\begin{tabular}{*{' num2str(size(entryThresholds,2)+1) '}{c}}'];

%Econometrica requires tables to begin with a double rule. This inserts one if doublerule=='Yes'.
if strcmp(doublerule,'Yes')
    headerstr1doublerule='\hline\hline\\';
else
    headerstr1doublerule=' ';
end
headerstrCase=['\multicolumn{' num2str(size(entryThresholds,2)+1) '}{c}{' descstr '}\\ \\'];    %This places a row in the tabular describing the specification.
headerstr2a = [' & \multicolumn{' num2str(size(entryThresholds,2)) '}{c}{Entry Thresholds} \\'];
headerstr2b = [' & \multicolumn{' num2str(size(exitThresholds,2)) '}{c}{Exit Thresholds} \\'];
headerstr3a = ['$\sigma $' num2str(1:1:size(entryThresholds,2),' & $\\overline{C}_{%1.0f}$') ' \\ \hline'];
headerstr3b = ['$\sigma $' num2str(1:1:size(entryThresholds,2),' & $\\underline{C}_{%1.0f}$') ' \\ \hline'];
closestr = '\end{tabular}';

% Contents
contentstra = ' ';
contentstrb = ' ';
for iter=1:size(entryThresholds,1);

    addThis= num2str(sigmaG(iter),'%2.2f ');
        for jiter=1:size(entryThresholds,2)
            if ~isnan(entryThresholds(iter,jiter))
                addThis = [addThis num2str(entryThresholds(iter,jiter),'& \\makebox[24pt]{%2.2f}')];
            else
                addThis = [addThis ' & \makebox[24pt]{ }'];
            end
        end
        addThis = [addThis '\\ '];
        contentstra = strvcat(contentstra,addThis);

    addThis = num2str(sigmaG(iter),'%2.2f ');
        for jiter=1:size(exitThresholds,2)
            if ~isnan(exitThresholds(iter,jiter))
                addThis = [addThis num2str(exitThresholds(iter,jiter),'& \\makebox[24pt]{%2.2f}')];
            else
                addThis = [addThis ' & \makebox[24pt]{ }'];
            end
        end
        addThis = [addThis '\\ '];
        contentstrb = strvcat(contentstrb,addThis);

end

Assemble the final output.

tablestra=strvcat(headerstr1,headerstr1doublerule,headerstrCase,headerstr2a,headerstr3a,contentstra,closestr);
tablestrb=strvcat(headerstr1,headerstr2b,headerstr3b,contentstrb,closestr);

Report output if this is a test run.

if exist('newrunHOLD','var')
    disp(entryThresholds);
    disp(tablestra);

    disp(exitThresholds);
    disp(tablestrb);
    clear newrunHOLD
end
    0.4991    1.0000    1.4993    1.9937    2.4968    2.9892    3.4903    3.9948
    0.4795    0.9851    1.5068    2.0442    2.5728    3.1268    3.6147       NaN
    0.4630    1.0000    1.5605    2.1383    2.7047    3.2059       NaN       NaN
    0.4584    1.0202    1.6161    2.1924    2.5857       NaN       NaN       NaN

\begin{tabular}{*{9}{c}}                                                                                                                                                                  
\hline\hline\\                                                                                                                                                                            
\multicolumn{9}{c}{$\pi(N)=4$}\\ \\                                                                                                                                                       
 & \multicolumn{8}{c}{Entry Thresholds} \\                                                                                                                                                
$\sigma $& $\overline{C}_{1}$ & $\overline{C}_{2}$ & $\overline{C}_{3}$ & $\overline{C}_{4}$ & $\overline{C}_{5}$ & $\overline{C}_{6}$ & $\overline{C}_{7}$ & $\overline{C}_{8}$ \\ \hline
                                                                                                                                                                                          
0.00& \makebox[24pt]{0.50}& \makebox[24pt]{1.00}& \makebox[24pt]{1.50}& \makebox[24pt]{1.99}& \makebox[24pt]{2.50}& \makebox[24pt]{2.99}& \makebox[24pt]{3.49}& \makebox[24pt]{3.99}\\    
0.05& \makebox[24pt]{0.48}& \makebox[24pt]{0.99}& \makebox[24pt]{1.51}& \makebox[24pt]{2.04}& \makebox[24pt]{2.57}& \makebox[24pt]{3.13}& \makebox[24pt]{3.61} & \makebox[24pt]{ }\\      
0.10& \makebox[24pt]{0.46}& \makebox[24pt]{1.00}& \makebox[24pt]{1.56}& \makebox[24pt]{2.14}& \makebox[24pt]{2.70}& \makebox[24pt]{3.21} & \makebox[24pt]{ } & \makebox[24pt]{ }\\        
0.15& \makebox[24pt]{0.46}& \makebox[24pt]{1.02}& \makebox[24pt]{1.62}& \makebox[24pt]{2.19}& \makebox[24pt]{2.59} & \makebox[24pt]{ } & \makebox[24pt]{ } & \makebox[24pt]{ }\\          
\end{tabular}                                                                                                                                                                             
    0.4360    0.8737    1.3100    1.7419    2.1815    2.6248    3.0496    3.4903
    0.3791    0.7634    1.1503    1.5450    1.9348    2.3164    2.7047       NaN
    0.3345    0.6907    1.0513    1.4120    1.7683    2.1170       NaN       NaN
    0.2822    0.6376    0.9704    1.3034    1.6000       NaN       NaN       NaN

\begin{tabular}{*{9}{c}}                                                                                                                                                                          
 & \multicolumn{8}{c}{Exit Thresholds} \\                                                                                                                                                         
$\sigma $& $\underline{C}_{1}$ & $\underline{C}_{2}$ & $\underline{C}_{3}$ & $\underline{C}_{4}$ & $\underline{C}_{5}$ & $\underline{C}_{6}$ & $\underline{C}_{7}$ & $\underline{C}_{8}$ \\ \hline
                                                                                                                                                                                                  
0.00& \makebox[24pt]{0.44}& \makebox[24pt]{0.87}& \makebox[24pt]{1.31}& \makebox[24pt]{1.74}& \makebox[24pt]{2.18}& \makebox[24pt]{2.62}& \makebox[24pt]{3.05}& \makebox[24pt]{3.49}\\            
0.05& \makebox[24pt]{0.38}& \makebox[24pt]{0.76}& \makebox[24pt]{1.15}& \makebox[24pt]{1.54}& \makebox[24pt]{1.93}& \makebox[24pt]{2.32}& \makebox[24pt]{2.70} & \makebox[24pt]{ }\\              
0.10& \makebox[24pt]{0.33}& \makebox[24pt]{0.69}& \makebox[24pt]{1.05}& \makebox[24pt]{1.41}& \makebox[24pt]{1.77}& \makebox[24pt]{2.12} & \makebox[24pt]{ } & \makebox[24pt]{ }\\                
0.15& \makebox[24pt]{0.28}& \makebox[24pt]{0.64}& \makebox[24pt]{0.97}& \makebox[24pt]{1.30}& \makebox[24pt]{1.60} & \makebox[24pt]{ } & \makebox[24pt]{ } & \makebox[24pt]{ }\\                  
\end{tabular}                                                                                                                                                                                     
Experiment took 104.89 seconds